﻿using System;
using System.Threading.Tasks;
using SMARTMobile.ViewModels;
using SMARTMobile.ViewModels.Advance;
using SMARTMobile.WinPhone;

namespace SMARTMobile
{
	public class SMModelLocator : ViewModelLocator
	{
		public static SMModelLocator Instance
		{
			get { return ViewModelLocator.Current as SMModelLocator; }
		}

        public NoTelerikMainViewModel NoTelerikMain
        {
            get { return this["NoTelerikMain"] as NoTelerikMainViewModel; }
        }

		public MainViewModel Main
		{
			get { return this["Main"] as MainViewModel; }
		}

		public DistributorViewModel Distributor
		{
			get { return this["Distributor"] as DistributorViewModel; }
		}

		public ThietDatViewModel ThietDat
		{
			get { return this["ThietDat"] as ThietDatViewModel; }
		}

        ////public DBDuLieuViewModel DBDuLieu
        ////{
        ////    get { return this["DBDuLieu"] as DBDuLieuViewModel; }
        ////}

		public ChupHinhMainViewModel ChupHinhMain
		{
			get { return this["ChupHinhMain"] as ChupHinhMainViewModel; }
		}

        public static Func<string, Task> ShowMessageDialog { get; set; }

        public HoTroViewModel HoTro
        {
            get { return this["HoTro"] as HoTroViewModel; }
        }
   
		public CapNhatKhachHangViewModel CapNhatKhachHang
		{
			get { return this["CapNhatKhachHang"] as CapNhatKhachHangViewModel; }
		}

        public NhanThongTinViewModel NhanThongTin
        {
            get { return this["NhanThongTin"] as NhanThongTinViewModel; }
        }

        public DuyetTTLamTuyenViewModel DuyetTTLamTuyen 
        {
            get { return this["DuyetTTLamTuyen"] as DuyetTTLamTuyenViewModel; }
        }

        public NhapDuLieuViewModel NhapDuLieu
        {
            get { return this["NhapDuLieu"] as NhapDuLieuViewModel; }
        }

	    public DongBoPageViewModel DongBoPageModel
	    {
            get { return this["DongBoPageModel"] as DongBoPageViewModel; }
	    }

        public PhanTuyenViewModel PhanTuyen
        {
            get { return this["PhanTuyen"] as PhanTuyenViewModel; }
        }

        public PhonevendorVolumeViewModel PhonevendorVolume
        {
            get { return this["PhonevendorVolume"] as PhonevendorVolumeViewModel; }
        }

        public PriceRangeContributionViewModel PriceRangeContribution
        {
            get { return this["PriceRangeContribution"] as PriceRangeContributionViewModel; }
        }

        public CurrentInDoorDoorDisplayViewModel CurrentInDoorDoorDisplay
        {
            get { return this["CurrentInDoorDoorDisplay"] as CurrentInDoorDoorDisplayViewModel; }
        }

        public CurrentOutDoorDisplayViewModel CurrentOutDoorDisplay
        {
            get { return this["CurrentOutDoorDisplay"] as CurrentOutDoorDisplayViewModel; }
        }

        public OutletNokiaMerchandisingPotentialViewModel OutletNokiaMerchandisingPotential
        {
            get { return this["OutletNokiaMerchandisingPotential"] as OutletNokiaMerchandisingPotentialViewModel; }
        }

        public OutletVendorContributionViewModel OutletVendorContribution
        {
            get { return this["OutletVendorContribution"] as OutletVendorContributionViewModel; }
        }

        public OutetPGInformationViewModel OutetPGInformation
        {
            get { return this["OutetPGInformation"] as OutetPGInformationViewModel; }
        }

        public OutletMDContributionViewModel OutletMDContribution
        {
            get { return this["OutletMDContribution"] as OutletMDContributionViewModel; }
        }
	}
}
